package services.dictionary;

import base.IBaseServicesWithoutBLOBs;
import wt.entity.dictionary.MajorType;
import wt.entity.dictionary.MajorTypeExample;

import java.util.List;

/**
 * Created by Administrator on 2017/10/14.
 */
public interface MajorTypeServices extends IBaseServicesWithoutBLOBs<MajorType,MajorTypeExample> {

    /**
     * 获取专业树
     * @param itemId  事项id   id为空是获取所有事项
     * @param isOnlyLive  是否只显示启用节点
     * @return
     * @throws Exception
     */
    List<MajorType> selectMajorType(String itemId,boolean isOnlyLive) throws Exception;

    /**
     * 更新节点状态
     * @param setLiveIdList    set live=1
     * @param setNoLiveIdList  set live=0
     */
    void updateMajorTypeLive(List<String> setLiveIdList,List<String> setNoLiveIdList )throws Exception;

    /**
     * 根据叶子节点获取对应树
     * @param leafIdList
     * @return
     */
    List<MajorType>  selectTreeByLeafId( List<String> leafIdList);
    /**
     * 根据叶子节点获取对应树
     * @param leafNumList
     * @return
     */
    List<MajorType>  selectTreeByLeafNum( List<String> leafNumList);


    /**
     * 查询专家某个专业等级下的专业
     * @param expertId   不能为空
     * @param itemId     可为空
     * @param level      可为空
     * @return
     */
    List<MajorType>  selectExpertMajorByLevel( String expertId, String itemId, Integer level);



    List<MajorType> selectByMajorNumList(List<String> majorNumList) throws Exception;
    /**
     * 查询业务专业等级下的专业
     * @param businessId   不能为空
     * @param level      可为空
     * @return
     */

    List<MajorType>  selectBusinessMajorByLevel( String businessId, Integer level);



}
